﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Events
{
    class Program
    {

        //Lav en metode på klassen der kan modtage en delegate som kan evaluere en string til en boolean og udskriver alle navne i name som evaluerer til true.

        //Lav en event som trigger hver gang din delegate evaluere til true.

        string[] names = { "Adam", "Benny", "Carsten", "Dorte", "Erik", "Fiona", "Abraham", "Gitte", "Helle", "Iben", "Jesper", "Karin", "Lars", "Allah" };

        public delegate bool EvaluateString(string testString);

        static void Main(string[] args)
        {
            Program p = new Program();
            // Instantiate the delegate using the method as a parameter:
            EvaluateString e = p.StringHandler;

            for (int i = 0; i < p.names.Length; i++)
            {
                string currentName = p.names[i];
                Console.WriteLine(e(currentName));
            }

            //bool b = e("Auddah");
            //Console.WriteLine(b);
            Console.ReadKey();
        }

        bool StringHandler(string testString)
        {
            string firstLetter = Convert.ToString(testString[0]);
            if (firstLetter == "A")
                return true;
            else
                return false;
        }

        bool StringHandler2(EvaluateString testString)
        {
            
            return true;
        }
    }
}
